32 research outputs found
Compiling Scala for Performance
Scala is a new programming language bringing together object-oriented and functional programming. Its defining features are uniformity and extensibility. Scala offers great flexibility for programmers, allowing them to grow the language through libraries. Oftentimes what seems like a language feature is in fact implemented in a library, effectively giving programmers the power of language designers. The downside of this flexibility is that familiar looking code may hide unexpected performance costs. It is important for Scala compilers to bring down this cost as much as possible. We identify several areas of impact for Scala performance: higher-order functions and closures, and generic containers used with primitive types. We present two complementary approaches for improving performance in these areas: optimizations and specialization. Compiler optimization can bring down the cost through a combination of aggressive inlining of higher-order functions, an extended version of copy-propagation and dead-code elimination. Both anonymous functions and boxing can be eliminated by this approach. We show on a number of benchmarks that these language features can be up to 5 times faster when properly optimized, on current day JVMs. We propose a new approach to compiling parametric polymorphism for performance at primitive types. We mix a homogeneous translation scheme with user-directed specialization for primitive types. Type parameters may be annotated to require specialization of code depending on them. We propose definition-site specialization for primitive types, achieving separate compilation and no boxing when both the definition and call site are specialized. Specialized classes are compatible with unspecialized code, and specialization agnostic code can work with specialized instances, meaning that specialization is opportunistic. We present a formalism of a small subset of Scala with specialization and prove that specialization preserves types. We implemented this translation in the Scala compiler and report on improvements on a set of benchmarks, showing that specialization can make programs more than two times faster
Measurements of doping-dependent microwave nonlinear response in cuprate superconductors
Near-field microwave techniques have been successfully implemented in the past for the local investigation of magnetic materials and high-temperature superconductors. This dissertation reports on novel phase-sensitive linear- and nonlinear response microwave measurements of magnetic thin films and cuprate superconductors and their interpretation
Compiling generics through user-directed type specialization
Compilation of polymorphic code through type erasure gives compact code but performance on primitive types is significantly hurt. Full specialization gives good performance, but at the cost of increased code size and compilation time. Instead we propose a mixed approach, which allows the programmer to decide what code to specialize. Our approach supports separate compilation, allows mixing of specialized and generic code, and gives very good results in practice
Continuations in the Java Virtual Machine
Continuations have received considerable attention lately as a possible solution to web application development. Other uses proposed in the past, such as cooperative threading, coroutines or writing iterators, made them an attractive feature of dynamically typed languages. We present issues involved in adding continuations to a statically typed, object-oriented language like Java, and its implementation in the Java Virtual Machine. We propose three different flavors of continuations, and study their interactions with the base language, focusing on Java's concurrency model. We describe our implementation in Ovm, a realtime Java Virtual Machine, and discuss open issues
Interpersonal behaviors questionnaire in sport: psychometric analysis with romanian professional athletes
Building upon self-determination theory, our objective in this research was to adapt and analyze psychometrically the Interpersonal Behaviors Questionnaire (IBQ) in sport. Our participants were 642 professional athletes (55.14% men, M age = 22.81) who completed an online survey measuring their perception of coaching behaviors, need satisfaction, need frustration, and motivation. The results showed a good fit for the 24-item IBQ with a six-factor correlated model (χ2/ df = 4.178; CFI = .925; TLI = .912; SRMR = .048; RMSEA = .070), and we obtained evidence supporting its convergent and discriminant validity. The analyses also underpinned measurement invariance across gender, age, and sport, and confirmed good reliability. Criterion validity was met by positive associations of autonomy-supportive, competence-supportive, and relatedness-supportive behaviors with need satisfaction and autonomous motivation; and of autonomy-thwarting, competence-thwarting and relatedness-thwarting behaviors with need frustration, controlled motivation and amotivation. The adapted IBQ can be applied to the assessment of professional Romanian athletes’ perceptions of need-supportive and need-thwarting coaching behaviors
Urban Living Labs: how to enable inclusive transdisciplinary research?
The Urban Living Lab (ULL) approach has the potential to create enabling environments for social learning and to be a successful arena for innovative local collaboration in knowledge co-creation and experimentation in the context of research and practice in sustainability transitions. Nevertheless, complex issues such as the urban Food-Water-Energy (FWE) Nexus present a challenge to the realization of such ULL, especially regarding their inclusiveness.
We present ULL as a frame for a local knowledge co-creation and participation approach based on the project "Creating Interfaces - Building capacity for integrated governance at the Food-Water-Energy-nexus in cities on the water". This project aims at making FWE Nexus linkages better understandable to the stakeholders (citizens and associations, city government, science, businesses), and to facilitate cooperation and knowledge exchange among them. This paper focuses on and discusses inclusiveness as a key aspect and challenge of ULLs and on what literature and our experiences in this regard suggest for the advancement of the concept of ULL towards ULL 2.0. These findings often also relate to framing transdisciplinary research in a wider sense
Validation of a New Prognostic Score in Patients with Ovarian Adenocarcinoma
Background and Objectives: This study aimed to assess the impact of clinical prognostic factors
and propose a prognostic score that aids the clinician’s decision in estimating the risk for patients
in clinical practice. Materials and Methods: The study included 195 patients diagnosed with ovarian
adenocarcinoma. The therapeutic strategy involved multidisciplinary decisions: surgery followed by
adjuvant chemotherapy (80%), neoadjuvant chemotherapy followed by surgery (16.4%), and only
chemotherapy in selected cases (3.6%). Results: After a median follow-up of 68 months, in terms
of progression-free survival (PFS) and overall survival (OS), Eastern Cooperative Oncology Group
(ECOG) performance status of 1 and 2 vs. 0 (hazard ratio—HR = 2.71, 95% confidence interval—CI,
1.96–3.73, p < 0.001 for PFS and HR = 3.19, 95%CI, 2.20–4.64, p < 0.001 for OS), menopausal vs.
premenopausal status (HR = 2.02, 95%CI, 1.35–3,0 p < 0.001 and HR = 2.25, 95%CI = 1.41–3.59,
p < 0.001), ascites (HR = 1.95, 95%CI 1.35–2.80, p = 0.03, HR = 2.31, 95%CI = 1.52–3.5, p < 0.007),
residual disease (HR = 5.12, 95%CI 3.43–7.65, p < 0.0001 and HR = 4.07, 95%CI = 2.59–6.39, p < 0.0001),
and thrombocytosis (HR = 2.48 95%CI = 1.72–3.58, p < 0.0001, HR = 3.33, 95%CI = 2.16–5.13, p < 0.0001)
were associated with a poor prognosis. An original prognostic score including these characteristics
was validated using receiver operating characteristic (ROC) curves (area under the curve—AUC =
0.799 for PFS and AUC = 0.726 for OS, p < 0.001). The median PFS for patients with none, one, two,
three, or four (or more) prognostic factors was not reached, 70, 36, 20, and 12 months, respectively. The
corresponding median overall survival (OS) was not reached, 108, 77, 60, and 34 months, respectively.
Conclusions: Several negative prognostic factors were identified: ECOG performance status ≥ 1, the presence of ascites and residual disease after surgery, thrombocytosis, and menopausal status. These
led to the development of an original prognostic score that can be helpful in clinical practice
An Overview of the Scala Programming Language (2. Edition)
Scala fuses object-oriented and functional programming in a statically typed programming language. It is aimed at the construction of components and component systems. This paper gives an overview of the Scala language for readers who are familar with programming methods and programming language design